fix: resolve VersionMark-CommandLine-Review, VersionMark-Utilities-Review, VersionMark-Configuration-Review, VersionMark-VersionInfo-Review, and VersionMark-Validation-Review failures#37
Conversation
- Add missing justification and tags to Cmd-ErrorOutput, Cmd-InvalidArgs, Cmd-ExitCode requirements - Fix stale test reference VersionMark_GeneratesMarkdownReport -> VersionMark_PublishCommand_GeneratesMarkdownReport in publish.yaml - Remove non-existent VersionMark_CapturesVersions test reference from capture.yaml - Align priority table in command-line.md with Program.cs priority comments Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR updates the VersionMark requirements and design documentation to address failures reported by the VersionMark-CommandLine-Review review-set, primarily around missing requirement metadata and broken requirement→test traceability.
Changes:
- Added missing
justificationandtagsfields for three CLI requirements indocs/reqstream/command-line.yaml. - Fixed/removed broken test references in reqstream YAML files (
publish.yaml,capture.yaml) to restore traceability. - Aligned the command dispatch priority table in
docs/design/command-line.mdwith the priority comments inProgram.cs(treating the banner as unconditional).
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| docs/reqstream/publish.yaml | Updates requirement test references for publish-mode requirements to point at existing tests. |
| docs/reqstream/command-line.yaml | Adds missing justification and tags fields to maintain consistent requirement metadata. |
| docs/reqstream/capture.yaml | Removes a non-existent test reference from the capture requirement’s traceability list. |
| docs/design/command-line.md | Fixes the dispatch priority table to reflect the unconditional banner and correct priority numbering. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
@copilot Please use the code-review agent to re-run the formal VersionMark-CommandLine-Review |
The formal VersionMark-CommandLine-Review has been re-run. All 22 checks across all 8 review sections pass (Requirements, Documentation, Code, Testing, Req↔Doc, Req↔Implementation, Req↔Testing, Code↔Documentation). The updated report is in |
|
@copilot Please use the code-review agent to perform the formal VersionMark-Utilities-Review review. |
…ipt → bold) Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
The formal VersionMark-Utilities-Review has been run. It initially found one failure (REQ-02, DOC-02, REQDOC-02, REQIMP-02) — the requirement |
|
@copilot Please use the code-review agent to execute the formal VersionMark-Configuration-Review review. |
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
The formal VersionMark-Configuration-Review has been run. It found one failure: the Fixed in commit |
|
@copilot Please use the code-review agent to execute the formal VersionMark-VersionInfo-Review review. |
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
The formal VersionMark-VersionInfo-Review has been run. Two failures were found and fixed (commit
|
|
@copilot Please use the code-review agent to execute the formal review of VersionMark-Validation-Review |
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
The formal VersionMark-Validation-Review has been run. Two documentation failures were found and fixed (commit
Both step-3 descriptions in |
|
@copilot Please use the code-review agent to perform all formal reviews [VersionMark-CommandLine-Review, VersionMark-Utilities-Review, VersionMark-Configuration-Review, VersionMark-VersionInfo-Review, VersionMark-Validation-Review]. I need them performed separately (one after the other) with the results reported separately for formal review documentation purposes. |
TEST-01 fix 1 - Program_Run_WithVersionFlag_DisplaysVersionOnly (ProgramTests.cs): Added positive assertion that a version string IS printed, in addition to the existing negative assertions that the banner is NOT shown. Without this, the test would pass even if nothing was printed at all. TEST-01 fix 2 - IntegrationTest_SilentFlag_SuppressesOutput (IntegrationTests.cs): Captured the output instead of discarding it and added DoesNotContain assertions for the tool's normal banner content. The prior test only checked exit code and had a comment 'Output check removed', making the test name misleading. All 57 ContextTests/ProgramTests/IntegrationTests pass on net8.0/net9.0/net10.0.
All five formal reviews have been run separately. Here are the results: 1. VersionMark-CommandLine-Review — ✅ Pass (after fixes, commit Two TEST-01 gaps found and fixed:
All 22 checks across 8 sections pass. 2. VersionMark-Utilities-Review — ✅ Pass (no changes required) All 26 checks across 8 sections pass. No failures. 3. VersionMark-Configuration-Review — ✅ Pass (no changes required) All 28 checks across 8 sections pass. No failures. 4. VersionMark-VersionInfo-Review — ✅ Pass (no changes required) All 16 applicable checks (DOC, CODE, TEST, CODEDOC) pass. No failures. 5. VersionMark-Validation-Review — ✅ Pass (no changes required) All 12 applicable checks (DOC, CODE, CODEDOC) pass. No failures. |
Pull Request
Description
Formal reviews of
VersionMark-CommandLine-Review,VersionMark-Utilities-Review,VersionMark-Configuration-Review,VersionMark-VersionInfo-Review, andVersionMark-Validation-Reviewidentified failures in requirement metadata, traceability links, documentation consistency, requirement wording, stale code documentation, missing test coverage, incomplete argument documentation, and weak test assertions. All failures are resolved; all five reviews now pass all checks.CommandLine-Review failures fixed:
docs/reqstream/command-line.yaml— added missingjustificationandtagstoVersionMark-Cmd-ErrorOutput,VersionMark-Cmd-InvalidArgs,VersionMark-Cmd-ExitCodedocs/reqstream/publish.yaml— corrected four broken test references from non-existentVersionMark_GeneratesMarkdownReport→VersionMark_PublishCommand_GeneratesMarkdownReport; linkedVersionMark-Pub-GlobPatternto tests that actually exercise glob patterns (VersionMark_PublishCommandWithCustomGlobPatterns_FiltersFiles,Context_Create_GlobPatternsAfterSeparator_CapturesPatterns)docs/reqstream/capture.yaml— removed non-existentVersionMark_CapturesVersionsreference fromVersionMark-Cap-Capturedocs/design/command-line.md— priority table had banner labelled "Priority 2", shifting all subsequent entries vs.Program.cscomments; changed banner row to—(unconditional), aligning table with code (Help=2, Validate=3, Capture=4, Publish=4.5, Default=5)test/DemaConsulting.VersionMark.Tests/ProgramTests.cs—Program_Run_WithVersionFlag_DisplaysVersionOnlylacked a positive assertion that a version string was printed; added assertiontest/DemaConsulting.VersionMark.Tests/IntegrationTests.cs—IntegrationTest_SilentFlag_SuppressesOutputnever verified that output was actually suppressed; added assertions that banner and copyright text do not appear in captured outputUtilities-Review failure fixed:
docs/reqstream/formatter.yaml—VersionMark-Fmt-MarkdownListsaid "subscript formatting" but bothMarkdownFormatter.cs(emits**tool**) andutilities.mduse bold; corrected to "bold formatting"Configuration-Review failure fixed:
src/DemaConsulting.VersionMark/VersionMarkConfig.cs— the<remarks>XML doc-comment on the privateRunCommandmethod was a stale artifact describing a space-splitting approach that no longer exists; corrected to accurately describe the current shell-delegation design (cmd.exe /con Windows,/bin/sh -celsewhere viaArgumentList)VersionInfo-Review failures fixed:
docs/design/version-info.md— incorrectly attributedVersionMark-Cap-DefaultOutputtoVersionInfo.SaveToFile; the default output filename is determined by the CLI layer inProgram.cs, not byVersionInfo; corrected to attribute onlyVersionMark-Cap-JsonOutputtoSaveToFileand note the CLI layer's roletest/DemaConsulting.VersionMark.Tests/VersionInfoTests.cs— addedVersionInfo_LoadFromFile_NullJson_ThrowsArgumentExceptionto cover the null-JSON deserialization guard branch (if (versionInfo == null)) inLoadFromFilewhich had no testValidation-Review failures fixed:
docs/design/validation.md—RunCaptureTeststep 3 was missing--silentand--log <file>from the documented argument list; corrected to match the full argument list constructed inValidation.csdocs/design/validation.md—RunPublishTeststep 3 was missing--silent,--log <file>, and--report-depth 2; the omission of--report-depth 2was particularly significant as step 5 asserts## Tool Versions(heading level 2), which is directly produced by that flag; corrected to match the full argument list constructed inValidation.csType of Change
Related Issues
Pre-Submission Checklist
Before submitting this pull request, ensure you have completed the following:
Build and Test
dotnet build --configuration Releasedotnet test --configuration Releasedotnet run --project src/DemaConsulting.VersionMark --configuration Release --framework net10.0--no-build -- --validateCode Quality
dotnet format --verify-no-changesQuality Checks
Please run the following checks before submitting:
cspell "**/*.{md,cs}"markdownlint "**/*.md"yamllint .Testing
Documentation
Additional Notes
Changes are confined to requirements YAML files, design documentation, XML doc-comments in source code, and unit tests. No functional logic was modified.
🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.